home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / gfx / 3d / irit50src.lha / irit5 / include / bool_lib.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-30  |  1.7 KB  |  44 lines

  1. /*****************************************************************************
  2. *   "Irit" - the 3d (not only polygonal) solid modeller.             *
  3. *                                         *
  4. * Written by:  Gershon Elber                Ver 0.2, Mar. 1990   *
  5. ******************************************************************************
  6. *   Definitions, visible to others, of Boolean operation modules:         *
  7. *****************************************************************************/
  8.  
  9. #ifndef BOOL_LIB_H
  10. #define BOOL_LIB_H
  11.  
  12. /* Boolean operations types: */
  13. typedef enum {
  14.     BOOL_OPER_OR = 1,
  15.     BOOL_OPER_AND,
  16.     BOOL_OPER_SUB,
  17.     BOOL_OPER_NEG,
  18.     BOOL_OPER_CUT,
  19.     BOOL_OPER_MERGE
  20. } BoolOperType;
  21.  
  22. /* Prototypes of the global routines in adjacency.c module: */
  23. int BoolGenAdjacencies(IPObjectStruct *PObj);
  24.  
  25. /* Prototypes of global functions in bool-2d.c module: */
  26. IPPolygonStruct *Boolean2D(IPPolygonStruct *Pl1,
  27.                IPPolygonStruct *Pl2,
  28.                BoolOperType BoolOper);
  29.  
  30. /* Prototype of the global functions in the Boolean operations module: */
  31. IPObjectStruct *BooleanOR(IPObjectStruct *PObj1, IPObjectStruct *PObj2);
  32. IPObjectStruct *BooleanAND(IPObjectStruct *PObj1, IPObjectStruct *PObj2);
  33. IPObjectStruct *BooleanSUB(IPObjectStruct *PObj1, IPObjectStruct *PObj2);
  34. IPObjectStruct *BooleanNEG(IPObjectStruct *PObj);
  35. IPObjectStruct *BooleanCUT(IPObjectStruct *PObj1, IPObjectStruct *PObj2);
  36. IPObjectStruct *BooleanICUT(IPObjectStruct *PObj1, IPObjectStruct *PObj2);
  37. IPObjectStruct *BooleanMERGE(IPObjectStruct *PObj1, IPObjectStruct *PObj2);
  38. void BoolSetOutputInterCurve(int OutputInterCurve);
  39. void BoolSetHandleCoplanarPoly(int HandleCoplanarPoly);
  40. void BoolSetPolySortAxis(int PolySortAxis);
  41. void BoolCleanUpPolygonList(IPPolygonStruct **PPolygon);
  42.  
  43. #endif /* BOOL_LIB_H */
  44.